package cn.shop.front.service;

import cn.hutool.core.lang.Dict;
import cn.shop.base.MyService;
import cn.shop.transcation.frontUserModule.FrontUser;
import cn.shop.utils.ApiResult;

import java.util.Map;

/**
 * 购物平台用户表(FrontUser)表服务接口
 *
 * @author jzw
 * @since 2022-01-07 15:45:19
 */
public interface FrontUserService extends MyService<FrontUser> {

	/**
	 * 微信新用户创建
	 * @param headimgurl
	 * @param unionid
	 * @return
	 */
	FrontUser wxuserCreate(String headimgurl, String unionid);

	/**
	 * 新增数据
	 *
	 * @param frontUser 实体对象
	 * @return 新增结果
	 * @author jzw
	 * @since 2022-01-07 15:45:19
	 */
	boolean insert(FrontUser frontUser);

	/**
	 * 获取验证码
	 *
	 * @author jzw
	 * @since 2022/1/7 17:33
	 */
	Dict verificationCode(String token);

	/**
	 * 实名认证
	 *
	 * @param id 编号
	 * @param name 姓名
	 * @param identityCard 身份证号
	 * @return 返回结果
	 * @author 李一涵
	 * @since 2022-02-25
	 */
	ApiResult<Map<String, Object>> realNameAuthentication(long id, String name, String identityCard);

	/**
	 * 设置交易密码
	 *
	 * @param id 编号
	 * @param password 交易密码
	 * @return 返回结果
	 * @author 李一涵
	 * @since 2022-02-25
	 */
	boolean setTransactionPassword(long id, String password);

	/**
	 * 修改交易密码
	 *
	 * @param id 编号
	 * @param password 密码
	 * @return 返回结果
	 * @author 李一涵
	 * @since 2022-02-26
	 */
	boolean updateLoginPassword(long id, String password);

	/**
	 * 修改用户名
	 *
	 * @param id
	 * @param account
	 * @return
	 */
	boolean updateAccount(long id, String account);

	/**
	 * 修改自动提现
	 *
	 * @param id 编号
	 * @param autoWithdraw 是否自动提现
	 * @return 返回结果
	 * @author 李一涵
	 * @since 2023-01-30
	 */
	boolean setAutoWithdraw(long id, Boolean autoWithdraw);
}

